package com.etc.service;

import com.etc.entity.Categorys;
import com.etc.entity.Movies;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface MoviesService {
    /**
     * 通过电影名称模糊查询电影
     */
    PageInfo<Movies> selectMovieByName(String movieName, int pageNo, int pageSize);

    /**
     * 通过电影名称模糊查询电影
     */
    PageInfo<Movies> selectMovieByName2(String movieName, int pageNo, int pageSize);

    /**
     * 通过电影编号no修改电影
     */
    boolean modifyMovie(String movieName, String movieContent, String movieImg,
                        Double moviePrice, String movieDate, int movieTime, int movieNo);

    /**
     * 添加电影
     */
    boolean addMovie(String movieName, String movieContent, String movieImg,
                     Double moviePrice, String movieDate, int movieTime, int movieStatus, int categoryNo, int typeNo);

    /**
     * 通过编号no删除电影
     */
    boolean delMovieByNo(int movieNo);

    /**
     * @author luliang
     * 按上映时间排序选出首页电影的信息
     */
    List<Movies> getFirstImg(int startNo, int endNo);

    /**
     * @return 随机抽取电影推荐
     * @author luliang
     */
    List<Movies> getRandMovies();

    /**
     * @author luliang
     * 按电影序号查询电影
     */
    Movies getMovById(int movieNo);

    /**
     * @return 电影名模糊查询所有电影
     * @author luliang
     */
    PageInfo<Movies> getAllMoviesByName(String movieName);

    /**
     * @param movieNo 电影序号
     * @return
     * @author luliang
     */
    boolean updateMovieStatus(@Param("movieNo") int movieNo);

    /**
     * @return 所有电影类型
     * @author luliang
     */
    List<Categorys> getMovieCategorys();

    /**
     * 查询
     *
     * @return list
     */
    List<Movies> selectMovieBy();

}
